layui.use(['tree','treeSelect','form', 'util','treeSelect'], function() {
    var tree = layui.tree
        ,treeSelect=layui.treeSelect
        , layer = layui.layer
        , util = layui.util
        , form=layui.form
        ,$ =layui.$;

    //自定义验证规则
    form.verify({
        staffUsername: function(value){
            if(value.length < 5){
                return '账号至少得5个字符';
            }
            $("#staffUsername").on('blur',function () {
                let url="/logisticsStaff/queryByStaffName";
                let data={staffUsername:$("#staffUsername").val()}
                $.post(url,data,function (resp) {
                    if (resp.state==0){
                        $("#staffUsername").val("");
                        layer.msg("该账号已存在");
                    }
                })
            })
        }

        ,staffPassword: [
            /^[\S]{6,12}$/
            ,'密码必须6到12位,且不能出现空格'
        ]
        ,staffName:[/^[\u4e00-\u9fa5]+$/,'请输入中文']
        ,staffPhone:[/^1[3|4|5|8][0-9]\d{4,8}$/,'手机号码格式不正确']
        ,staffIdcard:[/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,'身份证号码格式不正确']
        ,content: function(value){
            layedit.sync(editIndex);
        }
    });

    $("#staffUsername").on('blur',function () {
        let url="/logisticsStaff/queryByStaffName";
        let data={staffUsername:$("#staffUsername").val()}
        $.post(url,data,function (resp) {
            if (resp.state==0){
                $("#staffUsername").val("");
                layer.msg("该账号已存在");
            }
        })
    })
    $("#staffName").on('blur',function () {
        let reg=/^[\u4e00-\u9fa5]+$/;
        if (!reg.test($("#staffName").val())){
            $("#staffName").val("");
            layer.msg("请输入中文!");
        }
    })

    $("#staffPhone").on('blur',function () {
        let reg=/^1[3|4|5|8][0-9]\d{4,8}$/;
        if (!reg.test($("#staffPhone").val())){
            $("#staffPhone").val("");

            layer.msg("手机号码格式不正确!");
        }
    })

    $("#staffIdcard").on('blur',function () {
        let reg=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
        if (!reg.test($("#staffIdcard").val())){
            $("#staffIdcard").val("");

            layer.msg("身份证号码格式不正确!");
        }
    })


    //全局同步
    $.ajaxSetup({
        async: false
    });


    fus();

    form.on('select(sect)',function () {
        let datas={sectionId:$("#sectionId").val()};
        let url="/logisticsPost/select";

        $.post(url,datas,function (resp) {
            $("#postId").empty();
            for (let i=0;i<resp.data.length;i++){
                $("#postId").append("<option value='"+resp.data[i].postId+"'>"+resp.data[i].postName+"</option>")
            }
            //渲染
            form.render('select');
        },'json')



    })

    var aa; //设置一个变量

    /*
* 当点击编辑按钮时,会传入一个id到form.html页面
* */
    let id = getQueryString("id");
    //如果id有值
    if(id){
        let url = "/logisticsStaff/selectOne/"+id;
        let da = {staffId:id};
        $.post(url,da,function (resp) {
            aa = resp.data.mapId;
            console.info(aa + "================");
            if(resp.state==1){
                form.val('example', resp.data);
                //手动处理照片的问题
                $("#staffPhoto_img").prop("src",resp.data.staffPhone);
                $("#staffPhoto_img").show();
                //重新渲染
                form.render();
            }
        },"json");
    }

        let url="/logisticsMap/selectzifing";
        treeSelect.render({
            // 选择器
            elem: '#mapId',
            // 数据
            data: url,
            // 异步加载方式：get/post，默认get
            type: 'get',
            // 占位符
            placeholder: '地址所属',
            // 是否开启搜索功能：true/false，默认false
            search: true,
            // 一些可定制的样式
            style: {
                folder: {
                    enable: true
                },
                line: {
                    enable: true
                }
            },
            // 点击回调
            click: function(d){

                $("#mapId").val(d.current.id);
                      console.info(d.current.id);
            },
            // 加载完成后的回调函数
            success: function (d) {
                // console.log(d);
                // 选中节点，根据id筛选
                treeSelect.checkNode('tree',aa);
                // console.log($('#tree'));
                // 获取zTree对象，可以调用zTree方法
                // var treeObj = treeSelect.zTree('tree');
                // 刷新树结构
                treeSelect.refresh('tree');
            }
        });


        //监听提交
        form.on('submit(demo1)', function(data){
            let url="/logisticsStaff/addOrUpdate";
            let formData=new FormData(document.getElementById("form"));
            // formData.fid=getQueryString("id");
            // console.log(formData);
            // formData.append(postId,$("#postId").val());
            $.ajax({
                url:url,
                dataType:'json',
                type:'POST',  //上传文件必须用post
                async: false,
                data: formData,
                processData : false, // 使数据不做处理
                contentType : false, // 不要设置Content-Type请求头
                success: function(resp){
                    console.log(resp);
                    if (resp.state==1){
                        //注意：parent 是 JS 自带的全局对象，可用于操作父页面
                        var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
                        parent.layer.close(index);
                        //父页面刷新
                        parent.table.reload("testReload");
                        //父页面提升信息
                        parent.layer.msg(resp.msg);
                    }else {
                        layer.msg(resp.msg);
                    }

                },
                error:function(resp){
                    console.log(resp);
                }
            });
            return false;
        });



    $("#close_btn").on("click",function () {
        var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
        parent.layer.close(index);
    });




    function fus(){
        $.ajax({
            url: "/logisticsSection/findAll",
            type: "post",
            data: null,
            dataType: 'json',
            async: false,
            contentType: false,
            processData: false,
            success: function (resp){
                for (let i=0;i<resp.data.length;i++){
                    $("#sectionId").append("<option value='"+resp.data[i].sectionId+"'>"+resp.data[i].sectionName+"</option>")
                }
                //渲染
                form.render('select');
            }
        });

        $.ajax({
            url: "/logisticsPost/findAll",
            type: "post",
            data: null,
            dataType: 'json',
            async: false,
            contentType: false,
            processData: false,
            success: function (resp){
                for (let i=0;i<resp.data.length;i++){
                    $("#postId").append("<option value='"+resp.data[i].postId+"'>"+resp.data[i].postName+"</option>")
                }
                //渲染
                form.render('select');
            }
        });
    }


    function getQueryString(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return unescape(r[2]);
        return null;
    }
})



